function f(x, y, z) {
	if(arguments.length != 3) {
		throw new Error("function f called with " + arguments.length + " arguments, but it expects 3 arguments.");
	}
}

function max() {
	var m = Number.NEGATIVE_INFINITY;
	for(var i = 0; i < arguments.length; i++) {
		if(arguments[i] > m) {
			m = arguments[i];
		}
	}
	
	return m;
}
var largest = max(1, 10, 100, 2, 3, 1000, 4, 5, 10000, 6);

function f(x) {
	alert(x);
	arguments[0] = null;
	alert(x);
}

var f = function(x) {
	if(x <= 1)
		return 1;
	return x * arguments.callee(x - 1);
}